package top.scsoul.voes.examination.entity;

import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
 * (ExamRegistration)实体类
 *
 * @author guolei
 * @since 2021-07-25 09:47:52
 */
public class ExamRegistration implements Serializable {
    private static final long serialVersionUID = 527341808602901182L;

    private Integer id;
    /**
     * 考试主键
     */
    @NotEmpty
    private Integer examId;
    /**
     * 用户名
     */
    @NotEmpty
    private String username;
    /**
     * 真实姓名
     */
    @Length(min = 1, max = 20, message = "真实姓名应该在1-20个字符之间")
    private String trueName;
    /**
     * 性别
     */
    @NotEmpty(message = "性别为空")
    private Integer gender;
    /**
     * 手机号码
     */
    @NotEmpty(message = "手机号码为空")
    @Pattern(regexp = "1[3|4|5|7|8][0-9]\\\\d{8}", message = "手机号码有误")
    private String phone;
    /**
     * 身份证号码
     */
    @Length(max = 18, min = 15, message = "身份证号长度只能是15-18位")
    private String idCard;
    /**
     * 证件照地址
     */
    @Length(max = 100, min = 1, message = "证件照地址长度在1-100之间")
    private String head;
    /**
     * 用户签名
     */
    private String userSign;
    /**
     * 准考证号
     */
    @Length(max = 30, min = 1, message = "准考证号长度在1-30之间")
    private String examCardNum;
    /**
     * 座位号
     */
    @Length(max = 10, min = 1, message = "座位号长度在1-10之间")
    private String seatNum;
    /**
     * 申请考试状态
     */
    @Range(max = 3, min = 1, message = "申请考试状态只能是1-3之间")
    private Integer state;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getExamId() {
        return examId;
    }

    public void setExamId(Integer examId) {
        this.examId = examId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getTrueName() {
        return trueName;
    }

    public void setTrueName(String trueName) {
        this.trueName = trueName;
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public String getHead() {
        return head;
    }

    public void setHead(String head) {
        this.head = head;
    }

    public String getUserSign() {
        return userSign;
    }

    public void setUserSign(String userSign) {
        this.userSign = userSign;
    }

    public String getExamCardNum() {
        return examCardNum;
    }

    public void setExamCardNum(String examCardNum) {
        this.examCardNum = examCardNum;
    }

    public String getSeatNum() {
        return seatNum;
    }

    public void setSeatNum(String seatNum) {
        this.seatNum = seatNum;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

}